home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Xenosoft 2
/
Xenosoft 2 (Game collection)(1994).iso
/
bioforge
/
script
/
temple.scp
< prev
next >
Wrap
Text File
|
1994-12-01
|
15KB
|
678 lines
// *** TEMPLE ***
{ TMP_LOAD
O $Çë
W 20 SECONDS
i LEX TEMPLEWT
}
// WE JUST FELL INTO THE TEMPLE AND ARE ON OUR WAY BACK TO THE TUBE STATION.
// THE TUBE MUST BE OPEN FOR US TO HAVE FALLEN INTO IT.
{ TMPL2TUN
A OFF
ñ CURFIG
@Ç¥ ENTERTUBEROOM
G TO_TMPL
A ON
}
{ SETUPMARINES
I @Ç¢ (TMP_MAR_1) THEN
{
Y TMP1 TUN1 TUN2
G WANDER11
}
E
Q "/!Can't find tmp_mar_1!" // DON'T TRANSLATE
I @Ç¢ (TMP_MAR_2) THEN
{
Y TMP1 TUN1 TUN2
G WANDER21
}
E
Q "/!Can't find tmp_mar_2!" // DON'T TRANSLATE
}
{ MARINESENTERTEMPLE
P ~ÇÇ
// GIVE MARINE TEMPLE SPEECH IF RETURNING FROM ALIEN CITY
I ^çô AND ^î╝ = $Ç╗ THEN
{
@Ç¥ SETUPMARINES
W 10 SECONDS
^î╝ = $Ç╝
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `ê╕ $Ç╜ ~ÇÇ "Units 3 and 9 now positioned in sector 13." //@@@ PLEASE TRANSLATE
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `ê╣ $Ç╜ ~ÇÇ "The walls and floor seem~covered by strange writing." //@@@ PLEASE TRANSLATE
E
W 2 SECONDS
W 1 SECOND
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `öÅ $üâ ~ÇÇ "This is Dr. Mastaba." //@@@ PLEASE TRANSLATE
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `å╡ $üâ ~ÇÇ "Don't touch any artifacts and keep~your eyes open for your target." //@@@ PLEASE TRANSLATE
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `ê║ $Ç╜ ~ÇÇ "Check. Units 3 and 9 standing by." //@@@ PLEASE TRANSLATE
E
W 2 SECONDS
}
}
// THIS IS COMPLETELY SPECIALIZED FOR THE TUBE-STATION/ALIEN TEMPLE SCENE.-BES
{ GRENADE_FIRE
P ~ÇÇ
P ~Çü
P ~Çé
I @Ç⌐ (MARINE) THEN
{
// REMOVE THE GRENADE FROM THE MARINE'S HANDS
~ÇÇ = @Çü (CURITEM)
~Çü = @Çé (CURITEM)
~Çé = @Çâ (CURITEM)
f COORDS ~ÇÇ ~Çü ~Çé
Z CURITEM OFF
R CURITEM TOSS_TMP 0 12
}
E
{
Z CURITEM OFF
╢ 0 -12
^ìü = @Çì GRENADEENTERTUBE
}
}
{ GRENADECOUNTDOWN
P ~ÇÇ
@Ç¢ (PLAYER)
I @ÇÜ (GRENADE) = $Ç╗ THEN
{
Q "/!We ain't got no grenade!" // DO NOT TRANSLATE
é
}
W 45 SECONDS
// STOP THE GRENADE'S PROGRESS TOWARDS THE TUBES
^ìü
ú ( BOOM, YELLOWA, CURITEM )
@Çå ( `Çó )
// IF WE'RE WITHIN 4 METERS, KILL US
I @üÇ () < 400 THEN
{
┤
@Çå `Çë
D 666 ENERGY
^ïù = 12
@Çì KILLLEX
W 3 SECONDS
~ÇÇ = @Ç¥ (VOLUMEOFWALKYTALKY)
I ~ÇÇ THEN
@Ç║ `ëâ $Ç╜ ~ÇÇ "I think I got him. Please advise." //@@@ PLEASE TRANSLATE
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `å║ $üâ ~ÇÇ "Excellent work, Unit 3.~Reinforcements will arrive shortly." //@@@ PLEASE TRANSLATE
}
E
┤
}
{ GRENADEENTERTUBE
P ~ÇÇ
P ~Çü
P ~Çé
~ÇÇ = @üé (CURITEM)
~Çü = @üâ (CURITEM)
I @Ç⌐ (MARINE) THEN
{
^ìê = 1
~Çé = @Çì WAIT 60
}
E
^ìê = 0
:TOP
â
I @Ç⌐ (MARINE) AND ^ìê THEN
{
I ^ìê = 2 THEN
J #Çê
// SAFETY VALVE FOR THE GRENADE TOSS. IF MORE THAN 2 SECONDS PASS
// AND WE STILL HAVEN'T HIT ANYTHING, ASSUME WE MADE IT. -BES
I @Çó (~Çé ) == 0 THEN
J #Çê
}
// WAIT UNTIL WE BOUNCE OFF OF A WALL
I @üé (CURITEM) == ~ÇÇ AND @üâ (CURITEM) == ~Çü THEN
J #Çç
:SKIP_IT
I @Ç⌐ (MARINE) THEN
^ìê = 0
// IF WE'RE WITHIN THE TUBE STATION, SEE IF WE COLLIDED WITH ANY OF THE
// TUBE OPENINGS
// ACTUALLY, CHECK DISTANCE FROM PIL_BASE, A WAYPOINT INSIDE OF THE TUBE
// STATION
I @Ç╗ (CURITEM,PIL_BASE) < 600 THEN
{
// IF WE COLLIDED WITH THE TEMPLE ENTRANCE, THEN GO UP THE TUBE
I @Ç▒ (CURITEM,TMP_FACE) < 125 THEN
{
I ^î╣ != $é╝ THEN
{
┤
^ìé
W 1 SECOND
@Çå ( `Çó , 150 )
é
}
ñ CURITEM
@Ç¥ GRENADELEAVETUBEROOM
//CAPTION "/!Run tube travel animation with grenade" PAUSE // DO NOT TRANSLATE
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `ëé $Ç╜ ~ÇÇ "What the...?! ARRRGH!!!" //@@@ PLEASE TRANSLATE
// DON'T LET THE GRENADE BLOW UP PREMATURELY
^ìé
┤
W 20
@Çå ( `Çó , 100 )
@Ç¢ (TMP_MAR_2)
A OFF
//DEFINEVIEWINGCAMS
.ÇéÇÇ = 0
u CURFIG OFF
║ ON
M DIE
}
E I @Ç▒ (CURITEM,GRV_FACE) < 125 THEN
{
┤
^ìé
W 1 SECOND
@Çå ( `Çó , 150 )
}
E I @Ç▒ (CURITEM,ZG_FACE) < 125 THEN
{
┤
^ìé
W 1 SECOND
@Çå ( `Çó , 150 )
}
E I @Ç▒ (CURITEM,DIG_FACE) < 125 THEN
{
┤
^ìé
W 1 SECOND
@Çå ( `Çó , 150 )
}
E
Z CURITEM ON
}
E
{
ñ CURITEM
I ^ìä THEN
@Ç¥ TS_SHUTDOWN_TEMPLE_MON 1
@Ç¥ GRENADEENTERTUBEROOM
f COORDS 60 -106 -40
Z CURITEM ON
R CURITEM TMPGREN 0 15
// PUT IN STASIS BY TEMPLEMARINESPEERIN AS THE MARINE IS TOSSING THE
// GRENADE. WE DON'T RELEASE HIM UNTIL THE GRENADE ARRIVES IN THE
// TUBE STATION. THIS MAKES THINGS INFINITELY LESS COMPLICATED TO
// HANDLE. -BES
@Ç¢ PLAYER
// JUST SOME SAFEGUARDING... -BES
:TURN_AI_ON
A ON
I @Ç╛ () = $Ç╗ THEN J #Çë
}
}
{ TEMPLEMARINESPEERIN
P ~ÇÇ
W 1 SECOND
// IF TEMPLE OPENED FOR FIRST TIME...
I ^î╜ = $Ç╗ THEN
{
@Ç¥ TEMPLEB_SPEECH
}
// IF WE ARE CURRENTLY HEARING THE TEMPLE SPEECH, DO NOTHING...
E I ^î╜ = 2 THEN
é
I @Ç¢ (TMP_MAR_1) THEN
{
I .ÇéÇÇ > 0 THEN
{
I ^î┐ THEN
é
W 1 SECOND
A OFF
£ TUBE
M STAND CONTINUE
// MAKE SURE THE TUBE IS STILL OPEN
I ^î╛ THEN
{
G PEER_IN WALK
// MAKE SURE THE TUBE IS STILL OPEN
I ^î╛ THEN
{
^î┐ = $Ç╝
£ TUBE
M PEER_IN_HOLE
o
W 6 SECONDS
}
}
// MAKES SURE I WASN'T KILLED WHILE LOOKING IN
I .ÇéÇÇ > 0 THEN
{
^î┐ = $Ç╗
^ìç = $Ç╝
A ON
}
}
E
{
@Ç¢ (TMP_MAR_2)
I .ÇéÇÇ <= 0 THEN
é
A OFF
£ TUBE
// IF WE'RE STILL PLAYING THE SPEECH WITH MASTABA, WAIT FOR
// IT TO END
:WAIT_FOR_SPEECH
â
I ^ìÇ = $Ç╗ THEN J #Çï
I ^ìå = $Ç╗ THEN
{
// MAKE SURE THE TEMPLE IS STILL OPEN BEFORE CONTINUING
I ^î╛ THEN
{
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
@Ç║ `ëü $Ç╜ ~ÇÇ "It's reopened... I'm taking him out.~Fire in the hole!" //@@@ PLEASE TRANSLATE
^ìå = $Ç╝
}
}
// IF WE'RE IN THE ACT OF THROWING A GRENADE, THEN DON'T DO ANYTHING
I @Çô (REMOVE_BATT) OR @Çô (GRENADE_TOSS) OR @ÇÜ (GRENADE) THEN
é
// PUT IN STASIS BY TEMPLEMARINESPEERIN AS THE MARINE IS TOSSING THE
// GRENADE. WE DON'T RELEASE HIM UNTIL THE GRENADE ARRIVES IN THE
// TUBE STATION. THIS MAKES THINGS INFINITELY LESS COMPLICATED TO
// HANDLE. -BES
A OFF PLAYER
W 1 SECOND
I @Çô (REMOVE_BATT) OR @Çô (GRENADE_TOSS) OR @ÇÜ (GRENADE) THEN
{
A OFF PLAYER
é
}
I ^î╛ THEN
{
A OFF
// GIVE HIM ANOTHER GRENADE
M REMOVE_BATT 25
e GRENADE
f RTHAND
// THROW THE GRENADE
M GRENADE_TOSS
^ìé = @Çì GRENADECOUNTDOWN
@Çì GRENADEENTERTUBE
}
E
A ON PLAYER
I .ÇéÇÇ > 0 THEN
A ON
}
}
E
Q "/!Can't find tmp_mar_1!" // DO NOT TRANSLATE
}
{ TEMPLEB_SPEECH
P ~ÇÇ
// SET THIS FLAG TO 2 TO DENOTE THAT WE ARE IN THE PROCESS OF HEARING IT
^î╜ = 2
@Ç¢ TMP_MAR_1
I @Ç╛ () = $Ç╗ THEN
! "tmp_mar_1's ai is not running." // DO NOT TRANSLATE
A OFF
£ TUBE
M STAND CONTINUE
@Ç¢ TMP_MAR_2
I @Ç╛ () = $Ç╗ THEN
! "tmp_mar_2's ai is not running." // DO NOT TRANSLATE
A OFF
£ TUBE
M STAND CONTINUE
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
M SPEAK_2 CONTINUE
@Ç║ `ê╗ $Ç╜ ~ÇÇ "By the Paragon! Unit 3 reporting..." //@@@ PLEASE TRANSLATE
}
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
M SPEAK_1 CONTINUE
@Ç║ `ê╝ $Ç╜ ~ÇÇ "A section of the floor~has just lifted away." //@@@ PLEASE TRANSLATE
}
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
M SPEAK_3 CONTINUE
@Ç║ `ê╜ $Ç╜ ~ÇÇ "It's uncovered some kind of~opening. Please advise..." //@@@ PLEASE TRANSLATE
}
E
W 2 SECONDS
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
@Ç║ `å╢ $üâ ~ÇÇ "This is Mastaba." //@@@ PLEASE TRANSLATE
@Ç║ `å╖ $üâ ~ÇÇ "Check out the hole," //@@@ PLEASE TRANSLATE
@Ç║ `å╕ $üâ ~ÇÇ "but proceed with caution." //@@@ PLEASE TRANSLATE
}
E
W 2 SECONDS
@Ç¢ TMP_MAR_1
A ON
@Ç¢ TMP_MAR_2
A ON
^î╜ = $Ç╝
}
{ TMP_MAR_1_AI
:TOP
I .ÇéÇÇ > 0 THEN
{
N @Çà (1,3)
{
U 1
G WANDER11 WALK
X ÇÇ
U 2
G WANDER12 WALK
X ÇÇ
U 3
G WANDER13 WALK
X ÇÇ
}
}
// IF MY AI WAS SUSPENDED BECAUSE I WAS JUST PEERING INTO THE HOLE, SKIP
// THE WAITING BEFORE I EXECUTE MY NEXT GO COMMAND. -BES
I ^ìç = $Ç╗ THEN
W @Çà (3,6) SECONDS
E
^ìç = $Ç╗
J #ÇÄ
}
{ TMP_MAR_2_AI
:TOP
I .ÇéÇÇ > 0 THEN
{
N @Çà (1,3)
{
U 1
G WANDER21 WALK
X Çü
U 2
G WANDER22 WALK
X Çü
U 3
G WANDER23 WALK
X Çü
}
}
W @Çà (3,6) SECONDS
J #ÇÉ
}
{ OPENTEMPLE
@Çå (`èò ,150)
^î╛ = $Ç╝
^ìà = @Çì TEMPLEMARINESPEERIN
@Çè (^î╢ ,+1,$âï ,$âî ,3)
@Çè (^î╖ ,+1,$âï ,$âî ,3)
:LOOP
â
I ^î╢ != $âî THEN
J #ÇÆ
//_BAL_FRAME = 5
^î╕ = @Çì LIGHT_ANIM
^î╣ = $é╝
^î║ = $é║
}
[ LIGHT_ANIM
:TOP
00:00 ^î╢ = 22
^î╗ = 2
00:03 ^î╢ = 23
^î╗ = 3
00:06 ^î╢ = 24
^î╗ = 4
00:09 ^î╢ = 25
^î╗ = 5
00:11 ò
J #Çö
]
[ CLOSETEMPLE // 25 TO 1
^î╛ = $Ç╗
^î╕
^î╕ = 0
@Çå (`èû , 100)
@Çè (^î╢ ,-1,$âî ,$âï ,3)
// CHECK TO SEE IF THE MARINE IS UNDERNEATH THE SPHERE
01:00 I ^î┐ THEN
{
@Çì TEMPLE_C_SPEECH
â
@Ç¢ (TMP_MAR_1)
G 6666 6666 6666
Y
.ÇéÇÇ = 0
^î┐ = $Ç╗
}
02:18 ^î╗ = 1
^î╖ = 0
^î╣ = $é╗
^î║ = $é╝
// SET THIS SPECIAL HACK FLAG THAT WILL FORCE THE MARINE'S
// GRENADE DOWN THE TUBE
I ^ìê THEN
^ìê = 2
]
{ TEMPLE_C_SPEECH
P ~ÇÇ
P ~Çü
@Ç¢ ( TMP_MAR_2 )
A OFF
A OFF PLAYER
£ TUBE
M BONK CONTINUE
I @Çú () THEN
{
1
^ìä = $Ç╗
}
C TMP7
@Ç¥ TEMPLE_CRUSH_ANI
//_VOLUME = @CALL( VOLUMEOFWALKYTALKY )
//IF _VOLUME THEN
// {
// _HANDLE = @SUBTITLE _TEMPLE_VOX_CTEMPLE9 _STCGOLD _VOLUME "Holy...?!" //@@@ PLEASE TRANSLATE
// WAIT 1 SECOND
// MOTION KNEEL FREEZE CONTINUE
// SUSPENDWHILE _HANDLE
// }
//ELSE
// WAIT 2 SECONDS
@Çì TS_CAMERAVIEWSOPENTEMPLE
M KNEEL FREEZE
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
~Çü = @Ç║ `å╣ $üâ ~ÇÇ "What's going on out there?~Unit 3, please respond..." //@@@ PLEASE TRANSLATE
W 1 SECOND
M RET_FROM_KNEEL
~Çü
}
E
W 3 SECONDS
M FISTED_ANGER CONTINUE
W 1 SECOND
~ÇÇ = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~ÇÇ THEN
{
~Çü = @Ç║ `ê┐ $Ç╜ ~ÇÇ "Unit 9 is dead. The hole was resealed,~crushing him." //@@@ PLEASE TRANSLATE
W 130
M PFD_SHOOT_1 CONTINUE FREEZE
~Çü
@Ç║ `ëÇ $Ç╜ ~ÇÇ "It must be our target." //@@@ PLEASE TRANSLATE
M STAND CONTINUE
W 50
}
E
W 6 SECONDS
^ìÇ = $Ç╝
A ON
A ON PLAYER
}
[ TEMPLE_CRUSH_ANI
P ~ÇÇ
P ~Çü
~ÇÇ = @Çè (^ìë ,+1,1,128,2)
01:15 ~Çü = @Ç¥ ( VOLUMEOFWALKYTALKY )
I ~Çü THEN
@Ç║ `ê╛ $Ç╜ ~Çü "Holy...?!" //@@@ PLEASE TRANSLATE
08:16 é
]
//$ 26 - version number